package com.kai.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class ExpressOrderVO implements Serializable {

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 订单编号
     */
    private String orderNumber;

    /**
     * 收货人姓名
     */
    private String recipientName;

    /**
     * 快递公司
     */
    private String carrier;

    /**
     * 快递状态
     */
    private Integer expressStatus;

    /**
     * 收件人电话
     */
    private String recipientPhone;

    /**
     * 收件人地址
     */
    private String recipientAddress;

    //取货地址
    private String expressPickupAddress;

    /**
     * 物品类型（文件、小件、大件、重物等）
     */
    private String itemType;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 取件码
     */
    private String pickupCode;

    /**
     * 运费
     */
    private BigDecimal shippingFee;

    /**
     * 接单人ID
     */
    private Long courierId;

    /**
     * 接单人姓名
     */
    private String courierName;

    /**
     * 接单人电话
     */
    private String courierPhone;

    /**
     * 接单人评分
     */
    private BigDecimal courierRating;

    /**
     * 订单是否被评价
     */
    private Integer evaluated;

    /**
     * 接单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime acceptTime;

//    期望送达时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime expectedDeliveryTime;

    /**
     * 取件时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime pickupTime;

    /**
     * 送达时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime deliveryTime;


    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime orderDeliveryDeadline;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;



}
